
import 'package:json_annotation/json_annotation.dart';
import 'package:reabampos/src/reabam/operation/bean/base/rb_request.dart';
import 'package:reabampos/src/reabam/operation/bean/base/rb_response.dart';

//定义生成的文件 flutter pub run build_runner build --delete-conflicting-outputs
part 'api_download_db_file_url.g.dart';

@JsonSerializable(explicitToJson: true)
class RequestDownloadDbFileUrl extends RBBaseRequest{

  bool readCache=true;

  RequestDownloadDbFileUrl({this.readCache=true}):super();

  //添加固定格式
  factory RequestDownloadDbFileUrl.fromJson(Map<String, dynamic> json) => _$RequestDownloadDbFileUrlFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$RequestDownloadDbFileUrlToJson(this);

}
@JsonSerializable(explicitToJson: true)
class Request_websocket_promotion extends RBBaseRequest{

  String? projectId;

  Request_websocket_promotion({this.projectId}):super();

  //添加固定格式
  factory Request_websocket_promotion.fromJson(Map<String, dynamic> json) => _$Request_websocket_promotionFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$Request_websocket_promotionToJson(this);

}
@JsonSerializable(explicitToJson: true)
class Request_updateGoodItemDB extends RBBaseRequest{

  List<String>? itemIds;

  Request_updateGoodItemDB({this.itemIds}):super();

  //添加固定格式
  factory Request_updateGoodItemDB.fromJson(Map<String, dynamic> json) => _$Request_updateGoodItemDBFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$Request_updateGoodItemDBToJson(this);

}


@JsonSerializable(explicitToJson: true)
class BeanOfflineUpdateGoodItems{

  List<String>? itemIds;
  dynamic version;
  String? type;

  BeanOfflineUpdateGoodItems(
      {
        this.itemIds,
        this.version,
        this.type,
      }
      );

  //添加固定格式
  factory BeanOfflineUpdateGoodItems.fromJson(Map<String, dynamic> json) => _$BeanOfflineUpdateGoodItemsFromJson(json);
  Map<String, dynamic> toJson() => _$BeanOfflineUpdateGoodItemsToJson(this);

}
@JsonSerializable(explicitToJson: true)
class BeanOfflineFileUrl_promotion{

  List<dynamic>? downLoadUrls;
  dynamic dataVersion;

  BeanOfflineFileUrl_promotion(
      {
        this.downLoadUrls,
        this.dataVersion,
      }
      );

  //添加固定格式
  factory BeanOfflineFileUrl_promotion.fromJson(Map<String, dynamic> json) => _$BeanOfflineFileUrl_promotionFromJson(json);
  Map<String, dynamic> toJson() => _$BeanOfflineFileUrl_promotionToJson(this);

}
@JsonSerializable(explicitToJson: true)
class BeanWebsocketPromotionUpdate{

  dynamic version;
  String? action;//增量: /fast/promotion/update
  String? projectId;//方案id，当createWay=2时存在

  BeanWebsocketPromotionUpdate(
      {
        this.action,
        this.projectId,
        this.version,
      }
      );

  //添加固定格式
  factory BeanWebsocketPromotionUpdate.fromJson(Map<String, dynamic> json) => _$BeanWebsocketPromotionUpdateFromJson(json);
  Map<String, dynamic> toJson() => _$BeanWebsocketPromotionUpdateToJson(this);

}

@JsonSerializable(explicitToJson: true)
class Response_updateGoodItemsDB extends RBBaseResponse{

  List<dynamic>? data;

  Response_updateGoodItemsDB(
      {
        this.data,
        super.code,
        super.msg
      }
      );

  //添加固定格式
  factory Response_updateGoodItemsDB.fromJson(Map<String, dynamic> json) => _$Response_updateGoodItemsDBFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$Response_updateGoodItemsDBToJson(this);

}
@JsonSerializable(explicitToJson: true)
class Response_websocket_promotion extends RBBaseResponse{

  BeanOfflineFileUrl_promotion? data;

  Response_websocket_promotion(
      {
        this.data,
        super.code,
        super.msg
      }
      );

  //添加固定格式
  factory Response_websocket_promotion.fromJson(Map<String, dynamic> json) => _$Response_websocket_promotionFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$Response_websocket_promotionToJson(this);

}


